package Interface

type IUnit interface {
	Player() IPlayer
	Id() int32
	SetStatus(status int32)
	Status() int32
	SetAllHp(allHp int32)
	AllHp() int32
	SetNowHp(nowHp int32)
	NowHp() int32
	SetPosX(posX int32)
	PosX() int32
	SetPosZ(posZ int32)
	PosZ() int32
	SetPath(path [][]int32)
	Path() [][]int32
	SetNewPath(newPath [][]int32)
	NewPath() [][]int32
	SetAttackTarget(attackTarget IUnit)
	AttackTarget() IUnit

	AttackedTarget() IUnit
	SetAttackedTarget(attackedTarget IUnit)

	AddHp(addHp int32)
	Move()
	Attack()
	Attacked()
	Dead()

	DetectRange() float64
	AttackRange() float64

	UnitType() int32
	IsInAttackRange (unit IUnit) bool
}
